package com.dys.testjdk10;

import java.util.ArrayList;
import java.util.List;

/**
 * @className: com.dys.testjdk10.ListCopyOf
 * @description: JAVA10只读集合新增copyOf方法
 * @author: pine cone
 * @version: v1.0.0
 * @createTime: 2024/09/04 下午10:35
 */
public class ListCopyOf {
    /**
     * 这是一个main()方法,是应用程序的入口
     *
     * @param args 方法的形参列表,是一个字符串数组,包含了从命令行传递给程序的参数
     */
    public static void main(String[] args) {
        // JAVA9中新增创建只读的方法
        var list = List.of("Java", "Python", "Go", "JS");
        // JAVA10中新增的创建只读集合的方法
        List<String> stringList = List.copyOf(list);
        // 判断两个集合在内存上是否为同一个，结果为true
        System.out.println(list == stringList);

        // 创建一个普通集合
        var stringList2 = new ArrayList<String>();
        // 通过copyOf方法创建一个只读集合
        var stringList3 = List.copyOf(stringList2);
        // 判断两个集合在内存上是否是同一个,结果为false
        System.out.println(stringList2 == stringList3);
    }
}
